#pragma once

#include "../shared/geom.h"

/**
    Type of Shape
*/
enum Shape_t
{
    SF_BOX,
    SF_SPHERE,
    SF_MESH,

    SF_UNKNOWN

};
/**
=================================
Base Physics Object Shape
=================================
*/
class IPhyShape
{
public:
    /** Init the shape */
    virtual void Init()=0;
    /** Set Mass */
    virtual void SetMass( float m )=0;
    /** Set Inertia */
    virtual void SetInertia( const MVector3f &I )=0;
    /** Set the transformation mat */
    virtual void SetTransMatrix( const MMatrix4x4f &m )=0;
    /** Set Angular Velocity */
    virtual void SetAngularVel( const MVector3f &v )=0;

    /** Get type of shape */
    virtual Shape_t GetType() { return SF_UNKNOWN; };
public:
    virtual ~IPhyShape(void) {};
};


